package com.kjtpay.design_pattern.prototype;

import android.util.Log;

import androidx.annotation.NonNull;


class Resume implements Cloneable {
    @NonNull
    @Override
    public Object clone() throws CloneNotSupportedException {
        Resume obj = (Resume)super.clone();
        obj.work = (WorkExperience)this.work.clone();
        return obj;
    }

    //自身名字
    private String name;
    //性别
    private String sex;
    //年龄
    private String age;
    //自己的之前的工作经验
    private WorkExperience work;

    //构造函数 新建这个建立模板的实例时传入利用这个简历模板的人的名字
    //并新建一个工作经验的实例
    public Resume(String name) {
        this.name = name;
        work = new WorkExperience();
    }
    //供Bob复制Tom的简历时用于修改名字把自己的名字替换tom时调用
    public void setName(String name) {
        this.name = name;
    }
    //供调用这个模板的人书写自己的信息
    //供Bob复制Tom的简历时用于修改名字把自己的名字替换tom时调用
    public void setPersonalInfo(String sex, String age) {
        this.age = age;
        this.sex = sex;
    }
    //供调用这个模板的人书写自己工作的信息
    //供Bob复制Tom的简历时用于修改工作调用
    public void setWorkExperience(String workDate, String company) {
        work.workDate = workDate;
        work.company = company;
    }

    // 显示
    public String display() {
        String message = "姓名：" + name + "\n" +
                "性别：" + sex + "\n" +
                "年龄：" + age + "\n" +
                "工作经历：" + work.workDate + "===" + work.company;
        Log.v("Resume", message);
        return message;
    }
}
